( 8bit )

( keyboard )
$c000 constant keyboard_data_strobe
$c010 constant keyboard_clear_strobe

( lores colors )
$00 constant lores_black
$01 constant lores_magenta
$02 constant lores_dark_blue
$03 constant lores_purple
$04 constant lores_dark_green
$05 constant lores_gray_1
$06 constant lores_medium_blue
$07 constant lores_light_blue
$08 constant lores_brown
$09 constant lores_orange
$0a constant lores_gray_2
$0b constant lores_pink
$0c constant lores_light_green
$0d constant lores_yellow
$0e constant lores_aquamarine
$0f constant lores_white

( hires colors )

( double hires colors )

( pages )
$0400 constant text_page_1  \ $0400 bytes
$0800 constant text_page_2  \ $0800 bytes
$2000 constant hires_page_1 \ $2000 bytes
$4000 constant hires_page_2 \ $4000 bytes

( display soft switches )
$c00e constant altcharoff \ w
$c00f constant altcharon  \ w
$c01e constant rdaltchar  \ r7

$c00c constant 80coloff \ w
$c00d constant 80colon  \ w
$c01f constant rd80col  \ r7

$c000 constant 80storeoff \ w
$c001 constant 80storeon  \ w
$c018 constant rd80store  \ r7

$c054 constant page2off \ r/w
$c055 constant page2on  \ r/w
$c01c constant rdpage2  \ r7

$c050 constant textoff \ r/w
$c051 constant texton  \ r/w
$c01a constant rdtext  \ r7

$c052 constant mixedoff \ r/w
$c053 constant mixedon  \ r/w
$c01b constant rdmixed  \ r7

$c056 constant hiresoff \ r/w
$c057 constant hireson  \ r/w
$c01d constant rdhires  \ r7

$c07e constant ioudison  \ w
$c07f constant ioudisoff \ w
$c07e constant rdiousdis \ r7

$c05e constant dhireson  \ r/w
$c05f constant dhiresoff \ r/w
$c07f constant rddhires  \ r7

( speaker )
$c030 constant speaker_out \ r

( cassette )
$c020 constant cassette_out \ r
$c060 constant cassette_in  \ r7

( annunciators )
$c058 constant annunciator0off \ r/w
$c059 constant annunciator0on  \ r/w
$c05a constant annunciator1off \ r/w
$c05b constant annunciator1on  \ r/w
$c05c constant annunciator2off \ r/w
$c05d constant annunciator2on  \ r/w
$c05e constant annunciator3off \ r/w
$c05f constant annunciator3on  \ r/w

( strobe )
$c040 constant strobe_out \ r

( switches )
$c061 constant switch0_in \ r7 open apple
$c062 constant switch1_in \ r7 closed apple
$c063 constant switch2_in \ r7

( analog inputs )
$c070 constant analog_reset \ r/w
$c064 constant analog0_in \ r7
$c065 constant analog1_in \ r7
$c066 constant analog2_in \ r7
$c067 constant analog3_in \ r7

( bank select )
$c080 constant read_ram_write_none_bank_2 \ r
$c081 constant read_rom_write_ram_bank_2  \ rr
$c082 constant read_rom_write_none_bank_2 \ r
$c083 constant read_ram_write_ram_bank_2  \ rr
$c088 constant read_ram_write_none_bank_1 \ r
$c089 constant read_rom_write_ram_bank_1  \ rr
$c08a constant read_rom_write_none_bank_1 \ r
$c08b constant read_ram_write_ram_bank_1  \ rr
$c011 constant rdbnk2  \ r7
$c012 constant rdlcram \ r7
$c008 constant altzpoff \ w
$c009 constant altzpon  \ w
$c016 constant rdaltzp  \ r7

( aux memory )
$c002 constant ramrdoff \ w
$c003 constant ramrdon  \ w
$c013 constant rdramrd  \ r7

$c004 constant ramwrtoff \ w
$c005 constant ramwrton  \ w
$c014 constant rdramwrt  \ r7

( ram transfer )
$c312 constant auxmove \ jsr
$c314 constant xfer    \ jmp

$3c constant a1l
$3d constant a1h
$3e constant a2l
$3f constant a2h
$42 constant a4l
$43 constant a4h

$3ed constant xferdestl
$3ee constant xferdesth

( i/o memory )
$c00b constant slotc3romon  \ w
$c00a constant slotc3rompff \ w
$c017 constant rdslotc3rom  \ r7

$c006 constant slotcxromon  \ w
$c007 constant slotcxromoff \ w
$c015 constant rdslotcxrom  \ r7

( firmware entry )
$c305 constant basicin
$c307 constant basicout
$ff3a constant bell
$fbdd constant bell1
$fc9c constant clreol
$fc9e constant cleolz
$fc42 constant clreop
$f832 constant clrscr
$f836 constant clrtop
$fded constant cout
$fdf0 constant cout1
$fd8e constant crout
$fd8b constant crout1
$fd6a constant getln
$fd67 constant getlnz
$fd6f constant getln1
$f819 constant hline
$fc58 constant home
$ff3f constant iorest
$ff4a constant iosave
$fd1b constant keyin
$fe2c constant move
$f85f constant nextcol
$f800 constant plot
$f948 constant prblnk
$f94a constant prbl2
$fdda constant prbyte
$fb1e constant pread
$ff2d constant prerr
$fde3 constant prhex
$f941 constant prntax
$fd35 constant rdchar
$fd0c constant rdkey
$fefd constant read
$f871 constant scrn
$f864 constant setcol
$fe80 constant setinv
$fe84 constant setnorm
$fe36 constant verify
$f828 constant vline
$fc24 constant vtabz
$fca8 constant wait
$fecd constant write

( 80col firmware )
$c30b constant sigfirmware
$c30c constant sig80col
$c30d constant pinit
$c30e constant pread
$c30f constant pwrite
$c310 constant pstatus

( vectors )
$3f0 constant vector_brk
$3f2 constant vector_reset
$3f4 constant powerup
$3f5 constant jump_amp
$3f8 constant jump_ctrly
$3fb constant jump_nmi
$3fe constant vector_irq

